# 将之前封装的MyMath类中的实例方法改为静态方法
class MyMath:

    @staticmethod
    def add(a, b):
        return a + b

    @staticmethod
    def sub(a, b):
        return a - b

    @staticmethod
    def mul(a, b):
        return a * b

    @staticmethod
    def div(a, b):
        return a / b

    @staticmethod
    def pow(a, b):
        return a ** b

    @staticmethod
    def squ(a):
        return a ** 0.5


# 为上节课自定义类添加以下功能：
# 添加类属性
# 添加类私有属性
# 添加类方法或者类的私有属性
# 在__init__方法中初始化私有属性
# 在__init__方法中绑定私有实例属性
# 在自定义类中实现__str__自定义输出格式
class Ball:
    circular = True
    __status = "2"
    def __init__(self, sort, year):
        self.sort = sort
        self.year = year


    @classmethod
    def __new__(cls, *args, **kwargs):
        print("The Ball is so new.")
        return super().__new__(cls)

    @classmethod
    def get_status(cls):
        return cls.__status

    def __str__(self):
        return print(f"The Ball is {self.sort}, buy for {self.year} years.")


my_ball = Ball('football', 0.5)
print(f"我买了一个{my_ball.sort}.")
print(f"这个足球买了{my_ball.year}年了.")
print(my_ball.get_status())

